package cn.iocoder.an.module.mold.controller.admin.equipmnetkeepwait.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 待保养设备新增/修改 Request VO")
@Data
public class EquipmnetKeepWaitSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27591")
    private Long id;

    @Schema(description = "保养单号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String keepNo;

    @Schema(description = "保养项id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20811")
    @NotNull(message = "保养项id不能为空")
    private Long itemId;

    @Schema(description = "设备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21186")
    @NotNull(message = "设备id不能为空")
    private Long equipmentId;

    @Schema(description = "保养状态", example = "2")
    private Integer status;

    @Schema(description = "计划保养日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate planDate;

    @Schema(description = "剩余天数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer remaining;

    @Schema(description = "责任人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23310")
    private List<Long> dutyUserId;

    @Schema(description = "责任人名称", example = "张三")
    private String dutyUserName;

    @Schema(description = "设备名称", example = "张三")
    private String equipmentName;

    //派工时间
    private LocalDateTime sendTime;


}